/*
解题第一次失败：超时
原因：两重循环造成的时间复杂度过高
解题第二次思路：
参考http://blog.csdn.net/raalghul/article/details/51752834
若表示在n个物品中选取m个物品，则如存在下述公式： C(n,m)= C(n-1,m-1)+C(n-1,m)
i=a到b的c(k,i)(k在下，为行数)的累加可等于...
...
第61次提交：关键点1处，少写了第一个%号，错误
*/
#include <iostream>
#include<cstring>
#include<cstdio>

using namespace std;

const long long  maxMemory = 100005;

long long  num[maxMemory];
long long  llpow[maxMemory];
long long quickPow(long long a,long long b,long long p) ;
long long Lucas(long long m,long long n,long long p);
void init(long long p);

int main(void){

  memset(num,0,sizeof(long long)*maxMemory);
  memset(llpow,0,sizeof(long long)*maxMemory);

  long long  x1,x2,y1,y2,p;
  long long  sum;


  while(~scanf("%lld %lld %lld %lld %lld",&x1,&y1,&x2,&y2,&p )){
      sum = 0;
      init(p);

      for (long long  b = y1; b <= y2; b++) {
        sum = (sum + Lucas(b+1,x2+1,p)-Lucas(b+1,x1,p)+p)%p;
      }
    printf("%lld\n",sum);
  }
  return 0;
}



void init(long long p)  //观察locas定理的函数可知，ni、mi由n、m对p取余得到，故程序中的用到的阶乘不会大于p！
{
  llpow[0] = num[0] = 1;
  long long max = p;
  if( p > maxMemory ) max = maxMemory;

  for (long long i = 1; i <= max; i++) {
    num[i] = num[i-1] * i % p;
    llpow[i] = quickPow(num[i],p-2,p);
  }
}

long long Lucas(long long m,long long n,long long p)
{

  if(m > n) return 0;
  long long mi,ni;
  long  long mup = 1;
  long long temp = 0;
  while (m>=p || n>=p)
  {
    mi = m%p;
    ni = n%p;
    if(mi > ni) temp =  0;
    else
     /*关键点1，两个%皆不可少*/
    temp = num[ni] * llpow[mi] %p * llpow[ni-mi] % p;
    mup = mup * temp % p;  //费马小定理，将c(m,n)中的除号转化为乘号，这样可分别取余防止溢出

    m = m/p;
    n = n/p;

  }
  mi = m%p;
  ni = n%p;
  mup = mup * num[ni] * llpow[mi] %p * llpow[ni-mi] % p;

  return mup;
}

long long quickPow(long long a,long long b,long long p)  //快速幂,将a的b次方中的b化为二进制表示，快速求解
{
  long long temp,res;
  temp = a;  //temp = a的2的0次方
  res = 1;
  while(b)
  {
    if(b&1) res = res * temp % p;  //当b=b1b2b3b4...bn中的bi为1时，求幂才需要计入
    temp = temp * temp % p; // temp = a的x+2次方，x为上次的次方，如第一次时，此处变为a的2的1次方。
    b >>= 1; //b右移
  }
  return res;
}
